package com.zjt.service.product;
import com.zjt.entity.product.ProductInfo;
import com.zjt.web.api.vo.base.PageVO;
import org.springframework.data.domain.Page;

import java.util.List;
/**
 * Created with IntelliJ IDEA.
 * User: xueyanbeijing
 * Date: 12-8-24
 * Time: PM11:02
 * 产品维度的接口，包含产品信息
 * To change this template use File | Settings | File Templates.
 */
public interface IProductService {

    /**
     * 根据条形码  13位的 取产品列表   不是gtin
     * @param barCode
     * @return
     */
    ProductInfo getProductInfoByBarCode(String barCode);

    /**
     * 根据产品ID
     * @param productId
     * @return
     */
    ProductInfo getProductInfoById(long productId);

    /**
     * 根据物码中心的码取gtin
     * @param gtin
     * @return
     */
    ProductInfo getProductInfoByGtin(String gtin);

    /**
     * 存入产品表
     * @param gtin
     * @param itemName
     * @param brandId
     * @param specification
     * @param shortDescription
     * @param description
     * @param height
     * @param width
     * @param depth
     * @param netContent
     * @param grossWeight
     * @param netWeight
     * @param packagingTypeCode
     * @param packagingMaterialCode
     * @param classCode
     * @param extension
     * @param flag
     * @return
     */
    ProductInfo saveProductInfo(String gtin,String itemName,long brandId,String specification,String shortDescription
                                       ,String description,String height ,String width,String depth ,String netContent,
                                       String grossWeight,String netWeight,String packagingTypeCode,
                                       String packagingMaterialCode,String classCode ,String extension,int flag);

    List<ProductInfo> getProductInfoListForQRCodePNG(PageVO pageVO);

    /**
     * 分页取所有产品列表；
     * @param pageVO
     * @return
     */
    Page<ProductInfo> getAllProductInfoList(PageVO pageVO);

}
